Method and apparatus for selecting treatment for visitors to online enterprise channels

ABSTRACT

A method and apparatus for selecting treatment for visitors to online enterprise channels are disclosed. The method includes receiving information related to a visitor and a current activity of the visitor on an online enterprise channel. The information is transformed to generate transformed data and a plurality of features is extracted from the transformed data. Using the plurality of features, it is determined whether a treatment when rendered to the visitor is capable of increasing a likelihood of the visitor performing a desired action during a current visit to the online enterprise channel. The treatment is selected and rendered if it is determined that the treatment is capable of increasing the likelihood of the visitor performing the desired action. No treatment is rendered if it is determined that no treatment from among the plurality of treatments is capable of increasing the likelihood of the visitor performing the desired action.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. provisional patent applicationSer. No. 62/633,007 filed Feb. 20, 2018, which is incorporated herein inits entirety by this reference thereto.

TECHNICAL FIELD

The present invention generally relates to content displayed to visitorson online enterprise channels, and more particularly to a method andapparatus for selecting treatment for visitors to online enterprisechannels.

BACKGROUND

Online enterprise channels, such as the enterprise Website andenterprise social media portals, display enterprise products and/orservices and routinely attract many visitors. Existing or potentialcustomers of the enterprise visiting online enterprise channels arereferred to as online visitors or simply as ‘visitors.’

The enterprises attempt to engage with the visitors and, in general,provide an enriched experience to the visitors to enhance chances ofsale or to improve the likelihood of the visitors visiting the onlineenterprise channels again.

Currently, an intention of the visitor to make a purchase on the Websiteor to click on an advertisement (also referred to herein as ‘ad’) duringthe visitor's current visit to the Website is predicted. Typically, anagent assistance is offered to the visitor to influence the onlinevisitor to take certain desired action, such as for example, to click onAd, to engage in a purchase transaction, and the like.

In many example scenarios, some visitors would have performed thedesired action, such as making the purchase transaction or clicking onthe ad, irrespective of the treatment provided to them on the onlineenterprise channel. Display of banner ads or display of offers tointeract with enterprise agents may annoy such visitors. On the otherend, there are visitors, who would not engage in performing the desiredaction irrespective of the treatment provided to them on the onlineenterprise channel. Targeting such visitors with treatment may not yieldany benefit and may even annoy the visitors, who may choose to nevervisit the online enterprise channel again, leading to a loss of revenuefor the enterprise.

Accordingly, there is a need to select the appropriate treatment foreach visitor to provide an enriched experience of visiting onlineenterprise channels. It is also advantageous not to offer treatment to avisitor if the treatment cannot elicit the desired action from thevisitor.

SUMMARY

In an embodiment of the invention, a computer-implemented method forselecting treatment for visitors to online enterprise channels isdisclosed. The method receives, by a processor, information related to avisitor and a current activity of the visitor on an online enterprisechannel in substantially real-time. The method transforms the receivedinformation, by the processor, to generate transformed datacorresponding to the visitor and the current activity of the visitor onthe online enterprise channel. The method extracts, by the processor, aplurality of features from the transformed data. The method, using theplurality of features, determines by the processor, whether a treatmentfrom among a plurality of treatments when rendered to the visitor iscapable of increasing a likelihood of the visitor performing a desiredaction during a current visit of the visitor to the online enterprisechannel. The method selects, by the processor, the treatment for thevisitor if it is determined that the treatment is capable of increasingthe likelihood of the visitor performing the desired action during thecurrent visit. The selected treatment is rendered to the visitor duringthe current visit of the visitor to the online enterprise channel. Notreatment is rendered to the visitor during the current visit if it isdetermined that no treatment from among the plurality of treatments iscapable of increasing the likelihood of the visitor performing thedesired action.

In an embodiment, an apparatus for selecting treatment for visitors toonline enterprise channels is disclosed. The apparatus includes aprocessor and a memory. The memory stores instructions. The processor isconfigured to execute the instructions and thereby cause the apparatusto receive information related to a visitor and a current activity ofthe visitor on an online enterprise channel in substantially real-time.The apparatus transforms the received information to generatetransformed data corresponding to the visitor and the current activityof the visitor on the online enterprise channel. The apparatus extractsa plurality of features from the transformed data. The apparatus usingthe plurality of features, determines whether a treatment from among aplurality of treatments when rendered to the visitor is capable ofincreasing a likelihood of the visitor performing a desired actionduring a current visit of the visitor to the online enterprise channel.The apparatus selects the treatment for the visitor if it is determinedthat the treatment is capable of increasing the likelihood of thevisitor performing the desired action during the current visit. Theselected treatment is rendered to the visitor during the current visitof the visitor to the online enterprise channel. No treatment isrendered to the visitor during the current visit if it is determinedthat no treatment from among the plurality of treatments is capable ofincreasing the likelihood of the visitor performing the desired action.

In an embodiment of the invention, another computer-implemented methodfor selecting treatment for visitors to online enterprise channels isdisclosed. The method receives, by a processor, information related to avisitor and a current activity of the visitor on an online enterprisechannel in substantially real-time. The method transforms the receivedinformation, by the processor, to generate transformed datacorresponding to the visitor and the current activity of the visitor onthe online enterprise channel. The method extracts, by the processor, aplurality of features from the transformed data. The method generates,by the processor, a first probability score based, at least in part, onthe plurality of features. The first probability score is indicative ofa probability of the visitor engaging in a purchase transaction during acurrent visit of the visitor to the online enterprise channel whenrendered agent assistance. The method generates, by the processor, asecond probability score based, at least in part, on the plurality offeatures. The second probability score is indicative of a probability ofthe visitor engaging in the purchase transaction during the currentvisit when the visitor is not rendered the agent assistance. The methodcompares, by the processor, a difference between the first probabilityscore and the second probability score with a predefined thresholdvalue. The method facilitates, by the processor, a rendering of theagent assistance to the visitor during the current visit of the visitorto the online enterprise channel if it is determined that the agentassistance is capable of increasing the likelihood of the visitorengaging in the purchase transaction during the current visit. The agentassistance is not rendered to the visitor during the current visit if itis determined that the agent assistance is incapable of increasing thelikelihood of the visitor engaging in the purchase transaction.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 shows a representation for illustrating an example interactionbetween a visitor and an enterprise in accordance with an examplescenario;

FIG. 2A shows a block diagram of an apparatus configured to selecttreatment for visitors to online enterprise channels in accordance withan example embodiment;

FIG. 2B shows a block diagram of a processor of the apparatus of FIG. 2Ain accordance with an embodiment of the invention;

FIG. 3A shows a simplified representation of a table for illustratinggeneration of a second probability score indicative of a probability ofthe visitor performing a desired action on an online enterprise channelwhen the visitor is not rendered the treatment in accordance with anembodiment of the invention;

FIG. 3B shows a simplified representation of a table for illustratinggeneration of a first probability score indicative of a probability ofthe visitor performing the desired action on the online enterprisechannel when rendered treatment in accordance with an embodiment of theinvention;

FIG. 4A shows an example banner advertisement in accordance with anembodiment of the invention;

FIG. 4B shows a simplified representation of a table for illustratingaddition of parameters related to the banner advertisement of FIG. 4Afor computing a probability of a visitor performing a desired actionsubsequent to display of the banner advertisement in accordance with anembodiment of the invention;

FIG. 5 shows a flow diagram of a method for selecting treatment for avisitor to an online enterprise channel in accordance with an embodimentof the invention; and

FIG. 6 shows a flow diagram of a method for selecting treatment for avisitor to an online enterprise channel in accordance with anotherembodiment of the invention.

DETAILED DESCRIPTION

The detailed description provided below in connection with the appendeddrawings is intended as a description of the present examples and is notintended to represent the only forms in which the present example may beconstructed or utilized. However, the same or equivalent functions andsequences may be accomplished by different examples.

FIG. 1 shows a representation 100 for illustrating an exampleinteraction between an online user and an enterprise, in accordance withan example scenario. More specifically, the representation 100 depictsan online user 102 (hereinafter referred to as a visitor 102) accessingan enterprise Website 104 using a Web browser application 106 installedon a desktop computer 108. The enterprise Website 104 (hereinafterreferred to as a Website 104) may be hosted on a remote Web server andthe Web browser application 106 may be configured to retrieve one ormore Web pages associated with the Website 104 from the remote Webserver over a communication network (not shown in FIG. 1). An example ofthe communication network may include the Internet.

In the representation 100, the Website 104 is exemplarily depicted to bean electronic commerce (E-commerce) Website displaying a variety ofproducts and services for sale to online visitors during their journeyon the Website 104. It is noted that the term ‘journey’ as usedthroughout the description refers to a path an online visitor, such asthe online visitor 102 may take to reach his/her goal when using aparticular interaction channel. For example, the online visitor'sjourney on the Website 104 may include several Web page visits anddecision points that carry the online interaction of the visitor 102from one step to another step.

It is also noted that an enterprise may use various online avenues tooffer products, services and/or information to existing and potentialcustomers. Some non-exhaustive examples of such online avenues includethe enterprise Website, the enterprise native mobile application,third-party Websites like the social media portals and/or E-commerceWebsites, and the like. The various online avenues used by an enterprisefor offering enterprise offerings are collectively referred to herein asonline enterprise channels and individually as an online enterprisechannel. Accordingly, the Website 104 is one example of an onlineenterprise channel used by an enterprise for offering products, servicesand/or information to its customers. It is understood that the Website104 may attract a large number of existing and potential customers ofenterprise offerings, such as the visitor 102.

In an example scenario, the activity of the visitor 102 on the Website104 may be tracked and the tracked information along with otherinformation, such as past activity on the Website 104, previous chatconversations with agents, type of device/browser/OS used for accessingthe Website 104, and the like, may be used to determine an intention ofthe online visitor 102. For example, an intention of the visitor 102 toperform a desired action, such as make a purchase transaction on theWebsite 104 or click on a banner advertisement may be determined. If itis determined that the visitor 102 will perform the desired action, thenan appropriate treatment such as an offer to chat with an agent of anenterprise or an offer to speak with a customer support representativelike a human agent or an interactive voice response (IVR) system may beselected and provisioned to the visitor 102 as shown in FIG. 1. Morespecifically, a widget 110 displaying text ‘NEED ASSISTANCE, TALK TO OURAGENT!!’ is displayed on the current UI of the Website 104.

In another example scenario, the historical interaction data of thevisitor 102 may indicate the visitor 102 is interested in a particularbrand of laptops. Accordingly, relevant content and/or information maybe displayed to the visitor 102 on the Website 104 to increase chancesof a sale or to provide an improved browsing experience to the onlinevisitor 102. As an illustrative example, a banner advertisement 112showing a promotional offer on a laptop is displayed on the current UIof the Website 104.

The treatment such as displaying widgets like the widget 110 or banneradvertisements, like the banner advertisement 112, is provided to thevisitor 102 to influence the visitor 102 to take certain desired action,such as for example, to click on advertisement, to engage in a purchasetransaction, and the like.

However, in many example scenarios, some visitors to the Website 104would have engaged in performing the desired action, such as making thepurchase transaction or clicking on the advertisement, irrespective ofthe treatment provided to them on the online enterprise channel. Displayof banner ads or display of offers to interact with enterprise agentsmay, in fact, annoy such visitors. On the other end, some onlinevisitors would not engage in performing the desired action irrespectiveof the treatment provided to them on the online enterprise channel.Targeting such visitors with treatment may not yield any benefit and mayeven annoy the visitors. Such online visitors may not enjoy viewingadditional content and may exit the interaction, perhaps never toreturn. Such negative online visitor experiences are detrimental toenterprise objectives.

Various embodiments of the invention provide a method and apparatus thatare capable of overcoming these and other obstacles and providingadditional benefits. More specifically, various embodiments of theinvention disclosed herein present a technique for selecting theappropriate treatment for each visitor to an online enterprise channelto provide an enriched interaction experience to the visitor. Further,the method as disclosed herein suggests selecting a treatment for avisitor only if the treatment can elicit the desired action from thevisitor. No treatment is selected for the visitor if it is determinedthat the desired action cannot be elicited from the visitor by providingtreatments to the visitor during the visitor's current visit to theonline enterprise channel. An apparatus for selecting treatment forvisitors to online enterprise channels is explained with reference toFIG. 2A

FIG. 2A shows a block diagram of an apparatus 200 configured to selecttreatment for visitors to online enterprise channels, in accordance withan example embodiment. In at least one embodiment, the apparatus 200 isembodied as a Web-based or a cloud-based interaction platform configuredto enable enterprises to extend support, such as, for example, supportin form of agent assistance, to visitors visiting online enterprisechannels. The interaction platform may be implemented including a mix ofexisting open systems, proprietary systems and third-party systems. Inanother embodiment, the apparatus 200 may be implemented completely as aplatform including a set of software layers on top of existing hardwaresystems. In an embodiment, one or more components of the apparatus 200may be deployed in a Web Server. In another embodiment, the apparatus200 may be a standalone component in a remote machine connected to acommunication network and capable of executing a set of instructions,sequential and/or otherwise, to select treatment for visitors to onlineenterprise channels.

As explained with reference to FIG. 1, the term ‘online enterprisechannels’ as used herein implies Web accessible interaction channels,such as the enterprise Website, the enterprise native mobile applicationand third-party Websites and applications on which the enterprisedisplays its offering. Some examples of such third-party Websites andapplications may include E-commerce sites, social media portals, and thelike.

The term ‘visitors’ as used herein refers to existing and potentialusers of enterprise offerings, who are currently present on an onlineenterprise channel. Further the term ‘selecting a treatment for visitorsto online enterprise channels’ as used herein implies selecting atreatment from among several treatment options, such as rendering anautomated agent assistance to the visitor, rendering a textual-chatbased assistance to the visitor, rendering a voice call interaction witha human agent to the visitor or rendering a display of banneradvertisement to the visitor. In some example embodiments, a treatmentoption may include no intervention during the current visit of thevisitor to the online enterprise channel. It is noted that the term‘current visit’ as used herein refers includes the current journey ofthe visitor on the online enterprise channel subsequent to accessing theonline enterprise channel. For example, the current visit to the Websitemay include a visit to one or more Web pages of the Website. Further, avisit to a Web page may also include visitor selection of content, suchas selection of images or URLs displayed on the UI of the respective Webpage.

The apparatus 200 includes at least one processor, such as a processor202 and a memory 204. It is noted that although the apparatus 200 isdepicted to include only one processor, the apparatus 200 may include agreater number of processors therein. In an embodiment, the memory 204is capable of storing machine executable instructions, referred toherein as platform instructions 205. Further, the processor 202 iscapable of executing the platform instructions 205. In an embodiment,the processor 202 may be embodied as a multi-core processor, a singlecore processor, or a combination of one or more multi-core processorsand one or more single core processors. For example, the processor 202may be embodied as one or more of various processing devices, such as acoprocessor, a microprocessor, a controller, a digital signal processor(DSP), a processing circuitry with or without an accompanying DSP, orvarious other processing devices including integrated circuits such as,for example, an application specific integrated circuit (ASIC), a fieldprogrammable gate array (FPGA), a microcontroller unit (MCU), a hardwareaccelerator, a special-purpose computer chip, or the like. In anembodiment, the processor 202 may be configured to execute hard-codedfunctionality. In an embodiment, the processor 202 is embodied as anexecutor of software instructions, wherein the instructions mayspecifically configure the processor 202 to perform the algorithmsand/or operations described herein when the instructions are executed.

The memory 204 may be embodied as one or more volatile memory devices,one or more non-volatile memory devices, and/or a combination of one ormore volatile memory devices and non-volatile memory devices. Forexample, the memory 204 may be embodied as magnetic storage devices,such as hard disk drives, floppy disks, magnetic tapes, etc.; opticalmagnetic storage devices, e.g. magneto-optical disks; CD-ROM (compactdisc read only memory); CD-R (compact disc recordable); CD-R/W (compactdisc rewritable); DVD (Digital Versatile Disc); BD (BLU-RAY® Disc); andsemiconductor memories such as mask ROM, PROM (programmable ROM), EPROM(erasable PROM), flash memory, RAM (random access memory), etc.

In at least some embodiments, the memory 204 is configured to include adatabase (not shown herein) for storing content capable of beingdisplayed on the online enterprise channels. Some non-exhaustiveexamples of such content include banner advertisements, widgets offeringagent support among other content related to promotional offers,discount coupons, and the like. In at least one example embodiment, thememory 204 is configured to store one or more text mining and intentionprediction models as classifiers. Some examples of such models includemodels based on logistic regression, artificial neural network (ANN),Support Vector Machine (SVM) with Platt scaling, and the like.

Further, the memory 204 also stores a predefined threshold value usedfor determining if a particular treatment is to be provided to theonline visitor or not (explained later with reference to FIGS. 2B, 3Aand 3B). The predefined threshold value may be defined by the user ofthe apparatus 200 or may be determined based on learning from previousvisitor interaction experiences on the online enterprise channels.

The apparatus 200 also includes an input/output module 206 (hereinafterreferred to as an ‘I/O module 206’) and at least one communicationmodule such as a communication module 208. In an embodiment, the I/Omodule 206 may include mechanisms configured to receive inputs from andprovide outputs to the user of the apparatus 200. For example, the I/Omodule 206 may enable the user to provide selection of a value of thepredefined threshold value for selecting the appropriate treatment. Toenable reception of inputs and provide outputs to the user of theapparatus 200, the I/O module 206 may include at least one inputinterface and/or at least one output interface. Examples of the inputinterface may include, but are not limited to, a keyboard, a mouse, ajoystick, a keypad, a touch screen, soft keys, a microphone, and thelike. Examples of the output interface may include, but are not limitedto, a display such as a light emitting diode display, a thin-filmtransistor (TFT) display, a liquid crystal display, an active-matrixorganic light-emitting diode (AMOLED) display, a microphone, a speaker,a ringer, a vibrator, and the like.

In an example embodiment, the processor 202 may include I/O circuitryconfigured to control at least some functions of one or more elements ofthe I/O module 206, such as, for example, a speaker, a microphone, adisplay, and/or the like. The processor 202 and/or the I/O circuitry maybe configured to control one or more functions of the one or moreelements of the I/O module 206 through computer program instructions,for example, software and/or firmware, stored on a memory, for example,the memory 204, and/or the like, accessible to the processor 202.

The communication module 208 is configured to facilitate communicationbetween the apparatus 200 and one or more remote entities over acommunication network, such as a communication network 250. For example,the communication module 208 may enable communication between theapparatus 200 and devices deployed at remote customer support centersincluding electronic devices associated with human agents and virtualagents for providing service and support based assistance to thevisitors on the online enterprise channels. As an illustrative example,the communication module 208 is depicted to facilitate communicationwith a virtual agent 220 over the communication network 250.

In an embodiment, the communication module 208 may include severalchannel interfaces to receive information from a plurality of onlineenterprise channels. In at least some embodiments, the communicationmodule 208 may include relevant Application Programming Interfaces(APIs) to communicate with remote data gathering servers associated withonline enterprise channels over the communication network 250 using theAPIs. The communication network 250 may be embodied as a wiredcommunication network, for example Ethernet, local area network (LAN),etc., a wireless communication network, for example a cellular network,a wireless LAN, etc., or a combination thereof, for example theInternet. Each channel interface may further be associated with arespective communication circuitry such as for example, a transceivercircuitry including antenna and other communication media interfaces toconnect to the communication network 250. The communication circuitryassociated with each channel interface may, in at least some exampleembodiments, enable transmission of data signals and/or reception ofsignals from remote network entities, such as Web servers hostingenterprise Website or a server at a customer support and service centerconfigured to maintain real-time information related to interactionsbetween customers and enterprises.

In at least one example embodiment, the channel interfaces areconfigured to receive up-to-date information related to thevisitor-enterprise interactions from the online enterprise channels. Insome embodiments, the information may also be collated from theplurality of devices utilized by the visitors. To that effect, thecommunication module 208 may be in operative communication with variousvisitor touch points, such as electronic devices associated with thevisitors, Websites visited by the visitors, devices used by customersupport representatives, for example voice agents, chat agents, IVRsystems, in-store agents, and the like, engaged by the visitors and thelike. As an illustrative example, the communication module 208 isdepicted to be communicably associated with a visitor's electronicdevice 240 over the communication network 250.

The various components of the apparatus 200, such as the processor 202,the memory 204, the I/O module 206 and the communication module 208 areconfigured to communicate with each other via or through a centralizedcircuit system 210. The centralized circuit system 210 may be variousdevices configured to, among other things, provide or enablecommunication between the components (202-208) of the apparatus 200. Incertain embodiments, the centralized circuit system 210 may be a centralprinted circuit board (PCB) such as a motherboard, a main board, asystem board, or a logic board. The centralized circuit system 210 mayalso, or alternatively, include other printed circuit assemblies (PCAs)or communication channel media.

The apparatus 200 as illustrated and hereinafter described is merelyillustrative of an apparatus that could benefit from embodiments of theinvention and, therefore, should not be taken to limit the scope of theinvention. It is noted that the apparatus 200 may include fewer or morecomponents than those depicted in FIG. 2A. Moreover, the apparatus 200may be implemented as a centralized system, or, alternatively, thevarious components of the apparatus 200 may be deployed in a distributedmanner while being operatively coupled to each other. In an embodiment,one or more functionalities of the apparatus 200 may also be embodied asa client within devices, such as visitor's devices. In anotherembodiment, the apparatus 200 may be a central system that is shared byor accessible to each of such devices.

In at least one example embodiment, the processor 202 is configured todetect presence of a visitor on an online enterprise interactionchannel. In an illustrative example, a request for accessing a Web pageassociated with a Website may be received at a Web server hosting theWebsite. For instance, a visitor may enter a Uniform Resource Locator(URL) associated with the Web page in a Web browser application toprovision a Hypertext Transfer Protocol (HTTP) request to the Web serverfor Web page access. In response to the HTTP request, the Web server maybe configured to provide the Web page to the visitor's device, which maythen display the Web page in the UI associated with the Web browserapplication. The provisioning of the Web page (or Web pages) may berecorded at the Web server. As explained above, the communication module208 of the apparatus 200 is operatively coupled with Web servers andother data gathering servers. The communication module 208 may receivenotification of the visitor's request and subsequent provisioning of theWeb page from the Web server and thereby detect presence of the visitoron the Website.

In another illustrative example, an invoking of a native mobileapplication related with the enterprise may trigger an applicationprogramming interface (API) call to the apparatus 200. As explainedabove, the communication module 208 is in operative communication withpersonal devices of the visitors. The communication module 208 mayreceive the API call from the visitor's device. The apparatus 200 may becaused to detect the presence of the visitor on the native mobileapplication channel in response to the reception of the API call. Theapparatus 200 may similarly track presence of visitors in otherinteraction channels, such as social media channel, and the like.

In at least one example embodiment, the processor 202 is configured toreceive information related to the visitor and a current activity of thevisitor on an online enterprise channel in substantially real-time. Forexample, subsequent to detecting the presence of the visitor in anonline enterprise channel, information related to the visitor, such asfor example, IP address of the visitor, current location co-ordinates,device type, device operating system (OS), device browser, the type ofInternet connection, whether cellular or Wi-Fi, and the like, may bereceived by the processor 202, for example from the Web server. In atleast some embodiments, the IP address may be indicative of a whetherthe visitor is a first-time visitor or has visited the online enterprisechannel previously. More specifically, the processor 202 may be causedto compare the IP address with IP addresses corresponding to enterprisecustomers stored in the memory 204 for a match. The processor 202 may becaused to identify the visitor as an existing customer, or a visitor,who has previously visited the online enterprise channel, if the IPaddress matches with a stored IP address in the memory 204. If thevisitor is an existing customer or has previously visited the onlineenterprise channel, the processor 202 may be caused to retrieve historicinteraction data associated with the visitor.

In addition to receiving information related to the visitor, in at leastsome embodiments, the processor 202 is configured to receive informationrelated to the current activity of the visitor on the online enterprisechannel. The term ‘current activity’ as used herein refers to actionsperformed by the visitor on the online enterprise channel during thecurrent visit to the Website. Examples of actions performed by thevisitor may include accessing one or more Web pages, selecting contentsuch as images or hyperlinks displayed on the Web pages, choosing tabs,filling out form fields, initiating purchase transaction, and the like.Accordingly, information related to such actions may be recorded in aWeb server or a data logging server associated with the onlineenterprise channel. The recorded data may be forwarded by the Web serveror the data logging server to the communication module 208 insubstantially real-time. The communication module 208 may be configuredto relay the received data to the processor 202.

In an illustrative example, content pieces such as images, hyperlinks,URLs, and the like, displayed on a Website may be associated withHypertext Markup Language (HTML) tags or JavaScript tags that areconfigured to be invoked upon visitor selection of tagged content. Theinformation corresponding to the visitor's activity on the enterpriseWebsite may then be captured by recording an invoking of the tags in aWeb server, i.e. a data gathering server, hosting the enterpriseWebsite. In some embodiments, a socket connection may be implemented tocapture all information related to the visitor activity on the Website.The captured visitor activity on the Website may include informationsuch as Web pages visited, time spent on each Web page, menu optionsaccessed, drop-down options selected or clicked, mouse movements, HTMLlinks those which are clicked and those which are not clicked, focusevents, for example events during which the visitor has focused on alink/Web page for a more than a predetermined amount of time; non-focusevents, for example choices the visitor did not make from informationpresented to the visitor, e.g. products not selected, or non-viewedcontent derived from scroll history of the visitor; touch events, forexample events involving a touch gesture on a touch-sensitive devicesuch as a tablet; non-touch events; and the like. In at least oneexample embodiment, the communication module 208 may be configured toreceive such information from a Web server hosting the Web pagesassociated with the Website and logging information related to thevisitor activity on the Website. In at least one embodiment, theinformation related to the current activity of the visitor on the onlineenterprise channel may be received in substantially real-time, i.e. theinformation related to accessing content on the Web pages, switchingbetween Web pages, and the like may be received as soon as the visitorhas performed the activity with minimal delay, for example, delay causedby a time taken for the information to be transmitted over thecommunication network 250.

In at least one example embodiment, the processor 202 is configured toselect an appropriate treatment for the visitor based on the informationcaptured corresponding to the visitor and the visitor's activity on theonline enterprise channel. To that effect, in at least one exampleembodiment, the processor 202 may include a plurality of modules capableof facilitating selection of a treatment for the visitor to the onlineenterprise channel. The modules of the processor 202 are depicted inFIG. 2B.

FIG. 2B shows a block diagram of the processor 202 of the apparatus 200of FIG. 2A, in accordance with an embodiment of the invention. Theprocessor 202 is depicted to include a feature generation module 260, aprediction module 270 and a treatment selection module 280. The variousmodules of the processor 202 may be implemented using software,hardware, firmware, or a combination thereof. In some exampleembodiments, the processor 202 may preclude the various modules and isconfigured to perform all the functions that are collectively performedby the feature generation module 260, the prediction module 270 and thetreatment selection module 280. Various modules of the processor 202 aredepicted herein for example purposes and that the processor 202 mayinclude fewer or more modules than those depicted in FIG. 2B.

In an embodiment, the feature generation module 260 is configured toreceive information related to the visitor and the visitor's currentactivity on the online enterprise channel. In some embodiments, if thevisitor has been successfully identified to be an existing customer or avisitor, who has previously visited the online enterprise channel, theninformation related to the visitor's past journeys on the onlineenterprise channel may also be retrieved by the feature generationmodule 260 from the database in the memory 204 (shown in FIG. 2A). Thefeature generation module 260 is further configured to transform orconvert the received information into a more meaningful or useful form,which is referred to herein as transformed data. In an illustrativeexample, the transformation of information may include normalization ofcontent included therein. In at least one example embodiment, thenormalization of the content is performed to standardize spelling anddisambiguate punctuation, etc. For example, the visitor's informationsuch as name, address, phone number, location information, device typeinformation, etc., may be standardized according to preset formats.Similarly, the information related to the current or past activity ofthe visitor on the online enterprise channel, such as Web URLs forinstance, content type, etc. may be standardized. The normalization ofcontent may also include converting all characters in the text data tolowercase letters, stemming, stop-word removal, spell checking, regularexpression replacement, removing all characters and symbols that are notletters in the English alphabet, substituting symbols, abbreviations,and word classes with English words, and replacing two or more spacecharacters, tab delimiters, and newline characters with a single spacecharacter, etc. It is noted that normalization of content is explainedherein using text categorization models for illustration purposes only,and that various models may be deployed for normalization of content,which include a combination of structured and unstructured data.

In an embodiment, the transformation of the information may also involveclustering of content included therein. At least one clusteringalgorithm from among K-means algorithm, a Self-Organizing Map (SOM)based algorithm, a Self-Organizing Feature Map (SOFM) based algorithm, adensity-based spatial clustering algorithm, an optics clustering basedalgorithm and the like, may be used for clustering of informationrelated to the visitor and the visitor's activity on the onlineenterprise channel.

In an embodiment, the feature generation module 260 is furtherconfigured to extract a plurality of features from the transformed data.For example, the visitor device type may be extracted from thetransformed data as a feature, the visitor's location may be extractedas a feature, the sequence of Web pages visited during the visitor'scurrent visit to the online enterprise channel may be extracted asanother feature, and so on and so forth. Further, a feature vector, i.e.a numerical vector comprising a string of binary digits, representativeof the feature may be generated for each feature extracted from thetransformed data. Accordingly, a plurality of feature vectors may begenerated corresponding to a plurality of features.

The plurality of feature vectors are then provided as parameters to theprediction module 270, which is configured to retrieve logiccorresponding to at least one classifier associated with intentionprediction from the memory 204 to predict whether a treatment from amonga plurality of treatments when rendered to the visitor is capable ofincreasing a likelihood of the visitor performing a desired action, alsoknown as response variable, during a current visit of the visitor to theonline enterprise channel. Some examples of providing a treatment to avisitor may include, but are not limited to, providing the visitor withan automated voice assistance, providing the visitor with a text chatrelated assistance and providing the visitor with a voice callinteraction with a human agent. An example of a desired action mayinclude engaging of the visitor in a purchase transaction during thecurrent visit on the online enterprise channel. Another example of thedesired action may include clicking on a banner advertisement by thevisitor during the current visit on the online enterprise channel.

In at least one example embodiment, the outcome of the processing of theparameters derived from the plurality of feature vectors may beassociated with a likelihood measure, also referred to herein as aprobability score. For example, an outcome of predicted propensity ofthe customer to perform a desired action, such as a purchasetransaction, may be associated with probability score of ‘0.85’indicative of an 85% likelihood of the visitor performing the purchasetransaction during the current visit to the online enterprise channel.

In at least one example embodiment, the prediction module 270 isconfigured to generate a first probability score based, at least inpart, on the plurality of features. More specifically, as explainedabove, a feature vector is generated for each feature extracted from thetransformed data to configure a plurality of feature vectors. Eachfeature vector is used as a parameter input to the classifier associatedwith the prediction module 270. Additionally, a parameter related to atreatment may also be provided as an input to the classifier. In otherwords, in addition to the parameters derived from the plurality offeatures, parameter related to treatment to be rendered to the visitoris provided as an input to the classifier, which is configured togenerate the first probability score as the output. The firstprobability score is indicative of a probability of the visitorperforming the desired action on the online enterprise channel whenrendered respective treatment from among the plurality of treatments.

Further, the prediction module 270 is configured to generate a secondprobability score based, at least in part, on the plurality of features.More specifically, in addition to the parameters derived from theplurality of features, parameter related to a lack of treatment, i.e. notreatment is rendered to the visitor, is provided as an input to theclassifier, which is configured to generate the second probability scoreas the output. The second probability score is indicative of aprobability of the visitor performing the desired action on the onlineenterprise channel when the visitor is not rendered the treatment. Theprediction module 270 may be configured to provide the first probabilityscore and the second probability score for each possible treatment tothe treatment selection module 280.

The generation of the probability scores in relation to the visitorperforming the desired action with and without treatment is explainedwith reference to FIGS. 3A and 3B.

FIG. 3A shows a simplified representation of a table 300 forillustrating computation of the second probability score indicative of aprobability of the visitor performing the desired action on the onlineenterprise channel when the visitor is not rendered the treatment, inaccordance with an embodiment of the invention. The table 300 includes aplurality of columns, such as column 302, 304, 306, 308 and 310. Thecolumn 302 includes a list of all visitors, such as visitor 1, visitor 2and so on and so forth till visitor N, who are currently present on theonline enterprise channel. The columns 304, 306 to 308 representparameters (shown as parameter 1, parameter 2 to parameter N,respectively) configured by features extracted from the informationrelated to the visitors and their respective activities on the onlineenterprise channels. As explained with reference to FIG. 2A, informationsuch as the visitor device, Operating System, Browser, Location, type ofInternet connection, etc., along with information related to thevisitor's activity on the online enterprise channel, such as Web pagesvisited, for example landing page, payment page, etc., time spent on theWeb pages, content accessed on the Web pages may be recorded as featuresand thereafter used to configure feature vectors, which serve asparameters for use in prediction of visitor actions. The entries in thecolumns record the parameter values for the corresponding parameter foreach visitor. Although binary values are shown as entries in the columns304, 306 to 308, in at least some embodiments, each entry may correspondto a vector (or a numerical value) of fixed length. The column 310represents a variable ‘treatment 1’, chosen from one among providing thevisitors with an automated voice assistance, a text chat relatedassistance or a voice call interaction with a human agent. Initially,the entry in the column 310 for the visitor 1 is shown as ‘0’ implyingthat no treatment is provided to the visitor. The entries in each columnfrom 304 to 310 for each visitor configure a vector 320, i.e. acombination of a plurality of feature vectors, which is provided to aclassifier 330, i.e. a machine learning algorithm trained to predict theprobability of the visitor performing a desired action, for exampleclicking on a banner Ad or making a purchase transaction. For example,the vector 320 is provided to the classifier 330 to predict theprobability of the visitor 1 performing the desired action without thetreatment 1 offered to the visitor 1. As shown, the classifier 330 isdepicted to predict a value 340 (shown as 0.70) in a column 342 labeled‘Response Variable, i.e. the variable to be predicted, indicating thatthere is a very high probability, i.e. 70%, of the visitor performingthe desired action without the ‘treatment 1’ being offered to thevisitor 1 during the current journey on the Website. More specifically,the second probability score is predicted to be 0.70, i.e. 70%. Theprediction module 270 is similarly configured to predict a probabilityof the visitor performing the desired action with the ‘treatment 1’being offered to the visitor 1 during the current visit to the onlineenterprise channel. Such a scenario is explained with reference toanother table in FIG. 3B.

FIG. 3B shows a simplified representation of a table 350 forillustrating computation of the first probability score indicative of aprobability of the visitor performing the desired action on the onlineenterprise channel when rendered treatment, in accordance with anembodiment of the invention. The table 350 is substantially similar tothe table 300 shown in FIG. 3A, with only difference being the entry inthe column 310 for the visitor 1, which is shown as ‘1’ implying thatthe treatment 1 is rendered to the visitor. As explained with referenceto FIG. 3A, the entries in each column from 304 to 310 for each visitorconfigure the vector, which is provided to a classifier, i.e. a machinelearning algorithm trained to predict the probability of the visitorperforming a desired action, for example clicking on a banner ad ormaking a purchase transaction. For example, a vector 360 is provided tothe classifier 330 to predict the probability of visitor 1 performingthe desired action with the treatment 1 rendered to the visitor 1. Asshown, the classifier 330 is depicted to predict a value 370 (shown as0.75) in the column 342, indicating that there is a very highprobability, i.e. 75%, of the visitor performing the desired action withthe ‘treatment 1’ being offered to the visitor 1 during the currentvisit to the online enterprise channel. More specifically, the secondprobability score is predicted to be 0.75, i.e. 75%. It is noted thatthe values for probability for the visitor performing the desired actionwhen offered treatment is similarly computed for treatments 2, 3 to N.The prediction module 270 (shown in FIG. 2B) is configured to provisionthe first probability score and the second probability score to thetreatment selection module 280.

Referring now to FIG. 2B, in at least one example embodiment, thetreatment selection module 280 is configured to compute a differencebetween the first probability score and the second probability score,for each treatment, and compare the difference with a predefinedthreshold value. More specifically, the treatment selection module 280is configured to compute a difference (also interchangeably referred toherein as the differential score) between the probabilities of thevisitor performing a desired action without treatment and with treatmentfor each treatment. As an illustrative example, a Differential Score(DS) for the treatment 1 may be computed as shown in Equation (1):

DS=P(Action with treatment 1)−P(Action without treatment 1)  Equation(1)

The treatment selection module 280 is further configured to compare thedifference for each treatment with a predefined threshold value. Forexample, from the tables 300 and 350 shown in FIGS. 3A and 3B,respectively, the differential score for the treatment 1 for visitor 1is computed as shown below:

DS=0.75−0.7=0.05 (i.e. 5%)

In at least one example embodiment, the treatment selection module 280is configured to identify a treatment to be capable of increasing thelikelihood of the visitor performing the desired action on the onlineenterprise channel if the difference is greater than the predefinedthreshold value, such as 0.5 or 50%, for instance. A treatment isconsidered to be incapable of increasing the likelihood of the visitorperforming the desired action on the online enterprise channel if thedifference is less than or equal to the predefined threshold value. Incase of the treatment 1, the differential score of 0.05, i.e. 5%, isless than the predefined threshold value of 0.5, i.e. 50%. Accordingly,the treatment selection module 280 is configured to consider thetreatment 1 to be be incapable of increasing the likelihood of thevisitor performing the desired action on the online enterprise channel.

The treatment selection module 280 is configured to compare thedifference of the first probability score and the second probabilityscore with predefined threshold value for each treatment. In someembodiments, if only one treatment is determined to be capable ofincreasing the likelihood of the visitor performing the desired actionduring the current visit, then the treatment selection module 280 isconfigured to select the treatment and cause rendering of the selectedtreatment to the visitor during the current visit of the visitor to theonline enterprise channel. Alternatively, the treatment selection module280 is configured to select no treatment for the visitor during thecurrent visit if it is determined that no treatment from among theplurality of treatments is capable of increasing the likelihood of thevisitor performing the desired action.

In some embodiments, one or more treatments may be identified to becapable of increasing the likelihood of the visitor performing thedesired action on the online enterprise channel. In such a scenario, thetreatment from among the one or more treatments associated with thehighest difference over corresponding predefined threshold value isselected as the treatment to be rendered to the visitor during thecurrent visit to the online enterprise channel. For example, onetreatment may relate to rendering automated voice assistance, i.e. IVRbased assistance, to the visitor. For such a treatment, the differentialscore may be 0.6 and it may be greater than the predefined thresholdvalue of 0.5. Further, another treatment may relate to rendering textchat related assistance. The differential score may be 0.55 and it maybe greater than the predefined threshold value of 0.5. Furthermore, yetanother treatment may relate to rendering voice call interaction with ahuman agent to the visitor. For such as treatment, the differentialscore may be 0.8 and it may be greater than the predefined thresholdvalue of 0.5. As all three treatments are associated with a differentialscore which is greater than the predefined threshold value, thetreatment associated with the highest differential score, i.e. treatmentoffering voice call interaction to the human agent, may be selected andrendered to the visitor.

If no treatment is associated with a differential score greater than thepredefined threshold value, then no treatment is provided to thevisitor, or in other words, intervention is precluded during the currentvisit of the visitor to the online enterprise channel.

In at least some example embodiments, a treatment offered to the visitormay include display of banner advertisements (also referred to herein asbanner ads) during the current visit of the visitor on the onlineenterprise channel. The determination of whether a particular banner adis to be displayed or not may be performed as explained above. Morespecifically, the feature generation module 260 is configured to extractfeatures from the content associated with the banner ad and provide thecumulative set of features, i.e. visitor related features and bannerrelated features, to the prediction module 270. The prediction module270 is configured to predict the probability scores of the visitorperforming the desired action, i.e. making a purchase transaction,without the display of the banner ad and with display of the banner ad.The probability scores may be provided to the treatment selection module280, which may be configured to compute a difference in the probabilityscores and compare the difference score with a predefined thresholdvalue and determine if the banner ad is to be displayed to the visitorduring the current journey or not.

Such selection of treatment for online visitors offers severaladvantages. Consider a scenario, where an online visitor would haveperformed a desired action whether or not treatment is provided to thevisitor. In such a scenario, the probability of the visitor performingthe desired action without the treatment would be high, e.g. greaterthan 75%, as the visitor intends to make a purchase transaction.Moreover, the probability of the visitor performing the desired actionwith the treatment would also be high, again, greater than 75%. Thedifference between the two high probability scores would be low and whencompared with a predefined threshold value, it may be determined thatthe difference is lower than the predefined threshold value. In such ascenario, no treatment is offered to the visitor as the treatment doesnot increase the likelihood of the visitor performing the purchasetransaction, or in other words, the treatment would have had no effect,and the visitor would still perform the desired action. As a result ofprecluding unnecessary intervention, the visitor experience on theonline enterprise channel is not degraded.

Consider another scenario, where a visitor would not have performed adesired action whether or not treatment is provided to the visitor. Insuch a scenario, the probability of the visitor performing the desiredaction without the treatment would be low, e.g. lower than 25%.Moreover, the probability of the visitor performing the desired actionwith the treatment would also be low, again, lower than 25%. Thedifference between the two low probability scores would be low and whencompared with a predefined threshold value, it may be determined thatthe difference is lower than the predefined threshold value. In such ascenario, no treatment is offered to the visitor as the treatment wouldhave had no effect, and the visitor would still not perform the desiredaction. As a result of precluding unnecessary intervention, the visitorexperience on the online enterprise channel is not degraded.

As the treatment is only provided to those visitors for whom thetreatment would elicit the desired response which otherwise would havenot occurred, such a treatment selection approach enables an increase inthe conversion score while precluding unpleasant experience for thosevisitors who may get annoyed with offers of treatment during theirrespective journeys on the online enterprise channels.

Referring now to FIG. 2B, for cases involving introduction of newcontent, such as a new banner advertisement, the prediction of theprobability of the visitor performing the desired action with treatmentmay be difficult as sufficient learnt behavior for the new content maynot be available for predicting with substantial accuracy theprobability of the visitor performing the desired action. In such ascenario, the feature generation module 260 (shown in FIG. 2B) may beconfigured to extract features from the new content. The extraction offeatures from the new content is explained with reference to FIG. 4A.

FIG. 4A shows an example banner advertisement 400 in accordance with anembodiment of the invention. The banner advertisement 400 is exemplarilydepicted to an advertisement for a new laptop offering of an enterprise.In at least one example embodiment, the banner advertisement 400 maycorrespond to a new advertisement that has not been previously displayedto visitors on the online enterprise channels, or more specifically, thebanner advertisement is being displayed on the online enterprisechannels for a first time.

The banner advertisement 400 includes an image 402 of the laptop, textcontent 404 and white space regions, such as a white space 406. In atleast one example embodiment, for determining whether the banneradvertisement 400 should be displayed to an online visitor during thevisitor's current visit to an enterprise Website, the banneradvertisement 400 may be fetched from a database in the memory 204(shown in FIG. 2A) and provided to the processor 202. Further, thefeature generation module 260 (shown in FIG. 2B) of the processor 202may be configured to extract features in terms of the banneradvertisement 400. The extracted features may include image relatedfeatures, e.g. size, color, contrast, etc., text related features, e.g.font size, text color, etc., overall banner related features, e.g.banner shape, banner dimensions, white space proportion, button content,etc. In some embodiments, a convolutional neural network (CNN) basedauto-encoder may be trained to extract features and generate featurevectors, which are then provided as parameters to the classifier asshown in FIG. 4B.

Referring now to FIG. 4B, a simplified representation of a table 450 forillustrating addition of parameters related to the banner advertisement400 of FIG. 4A for computing the probability of a visitor performing adesired action subsequent to display of the banner advertisement 400 ofFIG. 4A is shown, in accordance with an embodiment of the invention.More specifically, the table 450 shows addition of section 440 includingcolumns showing additional parameters (shown as banner parameter 1 tobanner parameter X) related to the extracted features from the banneradvertisement 400 shown in FIG. 4A. The extracted features from thebanner advertisement 400, when added to the plurality of featuresextracted from the transformed data, configure a set of features. Theset of features may then be used to determine the selection of thetreatment. More specifically, the set of features are used to generatethe plurality of feature vectors which are used as parametric input tothe prediction module 270.

The prediction module 270 (shown in FIG. 2B) is configured to generate afirst probability score indicative of a probability of the visitorperforming the desired action, for example engage in a purchasetransaction, when the banner advertisement is displayed to the visitorduring the current visit on the online enterprise channel. Theprediction module 270 (shown in FIG. 2B) is also configured to generatea second probability score indicative of a probability of the visitorperforming the desired action when the banner advertisement is notdisplayed to the visitor during the current visit on the onlineenterprise channel.

The two probability scores are provided to the treatment selectionmodule 280 (shown in FIG. 2B), which is configured to compare adifference between the first probability score and the secondprobability score with a predefined threshold value derived at least inpart based on a default banner advertisement. More specifically, thedifference is compared with the differential score for a default banner,i.e. the differential score for the default banner may serve as thepredefined threshold value. In an embodiment, the treatment selectionmodule 280 is configured to determine that displaying the banneradvertisement 400 is capable of increasing the likelihood of the visitorperforming the desired action on the online enterprise channel if thedifference is greater than the predefined threshold value. The treatmentselection module 280 is then configured to cause display of the banneradvertisement 400 to the visitor during the visitor's current visit tothe enterprise Website. On the other hand, the treatment selectionmodule 280 is configured to determine that the displaying of the banneradvertisement 400 is incapable of increasing the likelihood of thevisitor performing the desired action on the online enterprise channelif the difference is less than or equal to the predefined thresholdvalue. In such a scenario, the banner advertisement 400 is not displayedto the visitor during the current visit on the online enterprisechannel.

A method for facilitating turn-based interactions between virtual agentsand customers of the enterprise is explained next with reference to FIG.5.

FIG. 5 shows a flow diagram of a method 500 for selecting a treatmentfor a visitor to an online enterprise channel, in accordance with anembodiment of the invention. The method 500 depicted in the flow diagrammay be executed by, for example, the apparatus 200 explained withreference to FIG. 2A to 4B. Operations of the flowchart, andcombinations of operation in the flowchart, may be implemented by, forexample, hardware, firmware, a processor, circuitry and/or a differentdevice associated with the execution of software that includes one ormore computer program instructions. The operations of the method 500 aredescribed herein with help of the apparatus 200. It is noted that, theoperations of the method 500 can be described and/or practiced by usingany system other than the apparatus 200. The method 500 starts atoperation 502.

At operation 502 of the method 500, information related to a visitor anda current activity of the visitor on an online enterprise channel isreceived in substantially real-time by a processor, such as theprocessor 202 of the apparatus 200. As explained with reference to FIG.2A, the processor is configured to detect presence of a visitor on anonline enterprise interaction channel. The detection of the presence ofthe visitor on the online enterprise interaction channel may beperformed as explained with reference to FIG. 2A and is not explainedagain herein. Subsequent to detecting the presence of the visitor in anonline enterprise channel, information related to the visitor, such asfor example, IP address of the visitor, current location co-ordinates,device type, device Operating System (OS), device browser, the type ofInternet connection, whether cellular or Wi-Fi, and the like, may bereceived by the processor, for example from the Web server. In at leastsome embodiments, the IP address may be indicative of a whether thevisitor is a first-time visitor or has visited the online enterprisechannel previously. More specifically, the processor may be caused tocompare the IP address with IP addresses corresponding to enterprisecustomers stored in the memory 204 for a match. The processor may becaused to identify the visitor as an existing customer, or a visitor,who has previously visited the online enterprise channel, if the IPaddress matches with a stored IP address in the memory. If the visitoris an existing customer or has previously visited the online enterprisechannel, the processor may be caused to retrieve historic interactiondata associated with the visitor.

In addition to receiving information related to the visitor, in at leastsome embodiments, the processor may be configured to receive informationrelated to the current activity of the visitor on the online enterprisechannel. The term ‘current activity’ as used herein refers to actionsperformed by the visitor on the online enterprise channel during thecurrent visit to the Website. Examples of actions performed by thevisitor may include accessing one or more Web pages, selecting contentsuch as images or hyperlinks displayed on the Web pages, choosing tabs,filling out form fields, initiating purchase transaction, and the like.Accordingly, information related to such actions may be recorded in aWeb server or a data logging server associated with the onlineenterprise channel. The recorded data may be communicated by the Webserver or the data logging server to the processor in substantiallyreal-time.

In an illustrative example, content pieces such as images, hyperlinks,URLs, and the like, displayed on a Website may be associated withHypertext Markup Language (HTML) tags or JavaScript tags that areconfigured to be invoked upon visitor selection of tagged content. Theinformation corresponding to the visitor's activity on the onlineenterprise channel may then be captured by recording an invoking of thetags in a Web server, i.e. a data gathering server, hosting the onlineenterprise channel. In some embodiments, a socket connection may beimplemented to capture all information related to the visitor activityon the online enterprise channel. The captured visitor activity on theonline enterprise channel may include information such as Web pagesvisited, time spent on each Web page, menu options accessed, drop-downoptions selected or clicked, mouse movements, HTML links those which areclicked and those which are not clicked, focus events, for exampleevents during which the visitor has focused on a link/Web page for amore than a predetermined amount of time, non-focus events, for examplechoices the visitor did not make from information presented to thevisitor, e.g. products not selected, or non-viewed content derived fromscroll history of the visitor, touch events, for example eventsinvolving a touch gesture on a touch-sensitive device such as a tablet,non-touch events, and the like. In at least one example embodiment, theprocessor may be configured to receive such information from a Webserver hosting the Web pages associated with the online enterprisechannel and logging information related to the visitor activity on theonline enterprise channel. In at least one embodiment, the informationrelated to the current activity of the visitor on the online enterprisechannel may be received in substantially real-time, i.e. the informationrelated to accessing content on the Web pages, switching between Webpages, and the like may be received as soon as the visitor has performedthe activity with minimal delay, for example, delay caused by a timetaken for the information to be transmitted over a communicationnetwork, such as the Internet.

At operation 504 of the method 500, the received information istransformed by the processor to generate transformed data correspondingto the visitor and the current activity of the visitor on the onlineenterprise channel. In an illustrative example, the transformation ofinformation may include normalization of content included therein. In atleast one example embodiment, the normalization of the content isperformed to standardize spelling and disambiguate punctuation, etc. Forexample, the visitor's information such as name, address, phone number,location information, device type information, etc., may be standardizedaccording to preset formats. Similarly, the information related to thecurrent or past activity of the visitor on the online enterprisechannel, such as Web URLs for instance, content type, etc. may bestandardized. The normalization of content may also include convertingall characters in the text data to lowercase letters, stemming,stop-word removal, spell checking, regular expression replacement,removing all characters and symbols that are not letters in the Englishalphabet, substituting symbols, abbreviations, and word classes withEnglish words, and replacing two or more space characters, tabdelimiters, and newline characters with a single space character etc.Normalization of content is explained herein using text categorizationmodels for illustration purposes only, and that various models may bedeployed for normalization of content, which include a combination ofstructured and unstructured data.

In an embodiment, the transformation of the information may also involveclustering of content included therein. At least one clusteringalgorithm from among K-means algorithm, a Self-Organizing Map (SOM)based algorithm, a Self-Organizing Feature Map (SOFM) based algorithm, adensity-based spatial clustering algorithm, an optics clustering basedalgorithm, and the like, may be used for clustering of informationrelated to the visitor and the visitor's activity on the onlineenterprise channel.

At operation 506 of the method 500, a plurality of features is extractedfrom the transformed data by the processor. For example, the visitordevice type may be extracted from the transformed data as a feature, thevisitor's location may be extracted as a feature, the sequence of Webpages visited during the visitor's current visit to the onlineenterprise channel may be extracted as another feature and, so on and soforth. Further, a feature vector, i.e. a numerical vector comprising astring of binary digits, representative of the feature may be generatedfor each feature extracted from the transformed data. Accordingly, aplurality of feature vectors may be generated corresponding to aplurality of features.

At operation 508 of the method 500, it is determined by the processorusing the plurality of features whether a treatment from among aplurality of treatments when rendered to the visitor is capable ofincreasing a likelihood of the visitor performing a desired actionduring a current visit of the visitor to the online enterprise channel.As explained with reference to operation 506, the plurality of featurevectors are generated from the plurality of features. Each featurevector is used as a parameter input to the classifier associated withthe processor. Additionally, a parameter related to a treatment may alsobe provided as an input to the classifier. The classifier is configuredto predict whether a treatment from among a plurality of treatments whenrendered to the visitor is capable of increasing a likelihood of thevisitor performing a desired action during a current visit of thevisitor to the online enterprise channel. An example of a desired actionmay include the visitor engaging in a purchase transaction on the onlineenterprise channel. Another example of the desired action may includethe visitor clicking on a banner advertisement. Some examples ofproviding a treatment to a visitor corresponds to one of providing thevisitor with an automated voice assistance, providing the visitor with atext chat related assistance and providing the visitor with voice callinteraction with a human agent. In at least one example embodiment, theoutcome of the processing of the parameters derived from the pluralityof feature vectors may be associated with a likelihood measure, alsoreferred to herein as a probability score. For example, an outcome ofpredicted propensity of the customer to perform a desired action, suchas a purchase transaction, may be associated with probability score of‘0.85’ indicative of an 85% likelihood of the visitor performing thepurchase transaction during the current visit to the online enterprisechannel.

At operation 510 of the method 500, the treatment is selected for thevisitor if it is determined that the treatment is capable of increasingthe likelihood of the visitor performing the desired action during thecurrent visit. The selected treatment is rendered to the visitor duringthe current visit of the visitor to the online enterprise channel.Further, no treatment is rendered to the visitor during the currentvisit if it is determined that no treatment from among the plurality oftreatments is capable of increasing the likelihood of the visitorperforming the desired action.

In at least one example embodiment, the processor is configured toidentify a treatment to be capable of increasing the likelihood of thevisitor performing the desired action on the online enterprise channelif the difference between the probability scores with treatment andwithout treatment is greater than the predefined threshold value, suchas 0.5 or 50%, for instance. The treatment is considered to be incapableof increasing the likelihood of the visitor performing the desiredaction on the online enterprise channel if the difference is less thanor equal to the predefined threshold value.

In at least some embodiments, the processor is configured to compare thedifference of the first probability score and the second probabilityscore with predefined threshold value for each treatment. In someembodiments, if only one treatment is determined to be capable ofincreasing the likelihood of the visitor performing the desired actionduring the current visit, then the processor is configured to select thetreatment and cause rendering of the selected treatment to the visitorduring the current visit of the visitor to the online enterprisechannel. Further, the processor is configured to select no treatment forthe visitor during the current visit if it is determined that notreatment from among the plurality of treatments is capable ofincreasing the likelihood of the visitor performing the desired action.

In some embodiments, one or more treatments may be identified to becapable of increasing the likelihood of the visitor performing thedesired action on the online enterprise channel. In such a scenario, thetreatment from among the one or more treatments associated with thehighest difference over corresponding predefined threshold value isselected as the treatment to be rendered to the visitor during thecurrent visit to the online enterprise channel. The method 500 ends atoperation 510.

Another method for selecting a treatment for a visitor to an onlineenterprise channel is explained next with reference to FIG. 6.

FIG. 6 shows a flow diagram of a method 600 for selecting a treatmentfor a visitor to an online enterprise channel in accordance with anotherembodiment of the invention. The method 600 depicted in the flow diagrammay be executed by, for example, the apparatus 200 explained withreference to FIGS. 2A to 4B. Operations of the flowchart, andcombinations of operation in the flowchart, may be implemented by, forexample, hardware, firmware, a processor, circuitry, and/or a differentdevice associated with the execution of software that includes one ormore computer program instructions. The method 600 starts at operation602.

At operation 602 of the method 600, information related to a visitor anda current activity of the visitor on an online enterprise channel isreceived by a processor, such as the processor 202 of the apparatus 200,in substantially real-time. At operation 604 of the method 600, thereceived information is transformed by the processor to generatetransformed data corresponding to the visitor and the current activityof the visitor on the online enterprise channel. At operation 606 of themethod 600, a plurality of features is extracted from the transformeddata. The operations 602, 604 and 606 are similar to the operations 502,504 and 506, respectively and are not explained again herein.

At operation 608 of the method 600, a first probability score isgenerated based, at least in part, on the plurality of features by theprocessor. As explained with reference to operation 508 of the method500, a feature vector is generated for each feature extracted from thetransformed data to configure a plurality of feature vectors. Eachfeature vector is used as a parameter input to the classifier associatedwith the processor. Additionally, a parameter related to agentassistance, for example parameter corresponding to a treatment type suchas automated voice assistance, text based assistance or assistance inform of a voice call interaction with a human agent, may also beprovided as an input to the classifier. In other words, in addition tothe parameters derived from the plurality of features, parameter relatedto agent assistance to be rendered to the visitor is provided as aninput to the classifier, which is configured to generate the firstprobability score as the output. The first probability score isindicative of a probability of the visitor performing the desired actionon the online enterprise channel when rendered agent assistance.

At operation 610 of the method 600, a second probability score isgenerated based, at least in part, on the plurality of features by theprocessor. More specifically, in addition to the parameters derived fromthe plurality of features, parameter related to a lack of agentassistance, i.e. no agent assistance is rendered to the visitor, isprovided as an input to the classifier, which is configured to generatethe second probability score as the output. The second probability scoreis indicative of a probability of the visitor performing the desiredaction on the online enterprise channel when the visitor is not renderedagent assistance.

At operation 612 of the method 600, a difference between the firstprobability score and the second probability score is compared with apredefined threshold value by the processor. At operation 614 of themethod 600, a rendering of the agent assistance to the visitor isfacilitated by the processor during the current visit of the visitor tothe online enterprise channel if it is determined that the agentassistance is capable of increasing the likelihood of the visitorengaging in the purchase transaction during the current visit. Morespecifically, if the difference is greater than the predefined thresholdvalue, the processor is configured to determine that the agentassistance when rendered to the visitor is capable of increasing thelikelihood of the visitor performing the desired action on the onlineenterprise channel. In such a case, the processor is configured to causedisplay of a widget offering agent assistance to the visitor during thecurrent visit of the visitor to the online enterprise channel. Thevisitor selection of the widget may initiate the agent interaction, forexample a chat interaction or the voice interaction with a human/virtualagent to facilitate rendering of the agent assistance to the visitor.The agent assistance is not rendered to the visitor during the currentvisit if it is determined that the agent assistance is incapable ofincreasing the likelihood of the visitor performing the desired action.The method 600 ends at operation 612.

Various embodiments disclosed herein provide numerous advantages. Thetechniques disclosed herein suggest techniques for selecting theappropriate treatment for each online visitor to provide an enrichedexperience of visiting online enterprise channels. As explained withreference to FIG. 2A to 6, a treatment for an online visitor is selectedonly if the treatment can elicit the desired action from the onlinevisitor. No treatment is selected for the online visitor if it isdetermined that the desired action cannot be elicited from the onlinevisitor by provisioning of treatments. Such selection of treatmentprecludes targeting visitors for whom the treatment may not yield anybenefit and as such may even annoy the visitors. As a result, thevisitors are precluded from having a poor online experience, which maylead to a loss of revenue for the enterprise.

Various embodiments described above may be implemented in software,hardware, application logic or a combination of software, hardware andapplication logic. The software, application logic and/or hardware mayreside on one or more memory locations, one or more processors, anelectronic device or, a computer program product. In an embodiment, theapplication logic, software or an instruction set is maintained on anyone of various conventional computer-readable media. In the context ofthis document, a “computer-readable medium” may be any media or meansthat can contain, store, communicate, propagate or transport theinstructions for use by or in connection with an apparatus, as describedand depicted in FIGS. 2A and 2B. A computer-readable medium may includea computer-readable storage medium that may be any media or means thatcan contain or store the instructions for use by or in connection withan instruction execution system, system, or device, such as a computer.

Although the invention has been described with reference to specificexemplary embodiments, it is noted that various modifications andchanges may be made to these embodiments without departing from thebroad spirit and scope of the present invention. For example, thevarious operations, blocks, etc., described herein may be enabled andoperated using hardware circuitry, for example complementary metal oxidesemiconductor (CMOS) based logic circuitry, firmware, software and/orany combination of hardware, firmware, and/or software, for exampleembodied in a machine-readable medium. For example, the apparatuses andmethods may be embodied using transistors, logic gates, and electricalcircuits, for example application specific integrated circuit (ASIC)circuitry and/or in Digital Signal Processor (DSP) circuitry.

Particularly, the apparatus 200 and its various components such as theprocessor 202, the memory 204, the I/O module 206, the communicationmodule 208, and the centralized circuit system 210 may be enabled usingsoftware and/or using transistors, logic gates, and electrical circuits,for example integrated circuit circuitry such as ASIC circuitry. Variousembodiments of the invention may include one or more computer programsstored or otherwise embodied on a computer-readable medium, wherein thecomputer programs are configured to cause a processor or computer toperform one or more operations, for example operations explained hereinwith reference to FIG. 5 or 6. A computer-readable medium storing,embodying, or encoded with a computer program, or similar language, maybe embodied as a tangible data storage device storing one or moresoftware programs that are configured to cause a processor or computerto perform one or more operations. Such operations may be, for example,any of the steps or operations described herein. In some embodiments,the computer programs may be stored and provided to a computer using anytype of non-transitory computer readable media. Non-transitory computerreadable media include any type of tangible storage media. Examples ofnon-transitory computer readable media include magnetic storage mediasuch as floppy disks, magnetic tapes, hard disk drives, etc., opticalmagnetic storage media, e.g, magneto-optical disks, CD-ROM (compact discread only memory), CD-R (compact disc recordable), CD-R/W (compact discrewritable), DVD (Digital Versatile Disc), BD (Blu-ray (registeredtrademark) Disc), and semiconductor memories such as mask ROM, PROM(programmable ROM), EPROM (erasable PROM), flash ROM, RAM (random accessmemory), etc. Additionally, a tangible data storage device may beembodied as one or more volatile memory devices, one or morenon-volatile memory devices, and/or a combination of one or morevolatile memory devices and non-volatile memory devices. In someembodiments, the computer programs may be provided to a computer usingany type of transitory computer readable media. Examples of transitorycomputer readable media include electric signals, optical signals, andelectromagnetic waves. Transitory computer readable media can providethe program to a computer via a wired communication line, e.g., electricwires, and optical fibers, or a wireless communication line.

Various embodiments of the invention, as discussed above, may bepracticed with steps and/or operations in a different order, and/or withhardware elements in configurations, which are different than thosewhich, are disclosed. Therefore, although the invention has beendescribed based upon these exemplary embodiments, it is noted thatcertain modifications, variations, and alternative constructions may beapparent and well within the spirit and scope of the invention.

Although various exemplary embodiments of the invention are describedherein in a language specific to structural features and/ormethodological acts, the subject matter defined in the appended claimsis not necessarily limited to the specific features or acts describedabove. Rather, the specific features and acts described above aredisclosed as exemplary forms of implementing the Claims.

1. A computer-implemented method, comprising: receiving, by a processor,information related to a visitor and a current activity of the visitoron an online enterprise channel in substantially real-time; transformingthe received information, by the processor, to generate transformed datacorresponding to the visitor and the current activity of the visitor onthe online enterprise channel; extracting, by the processor, a pluralityof features from the transformed data; using the plurality of features,determining by the processor, whether a treatment from among a pluralityof treatments when rendered to the visitor is capable of increasing alikelihood of the visitor performing a desired action during a currentvisit of the visitor to the online enterprise channel; selecting, by theprocessor, the treatment for the visitor when it is determined that thetreatment is capable of increasing the likelihood of the visitorperforming the desired action during the current visit; rendering theselected treatment to the visitor during the current visit of thevisitor to the online enterprise channel; and rendering no treatment tothe visitor during the current visit when it is determined that notreatment from among the plurality of treatments is capable ofincreasing the likelihood of the visitor performing the desired actionwhen.
 2. The method of claim 1, further comprising performing for eachtreatment from among the plurality of treatments: generating, by theprocessor, a first probability score based, at least in part, on theplurality of features, the first probability score indicative of aprobability of the visitor performing the desired action on the onlineenterprise channel when rendered respective treatment from among theplurality of treatments; generating, by the processor, a secondprobability score based, at least in part, on the plurality of features,the second probability score indicative of a probability of the visitorperforming the desired action on the online enterprise channel when thevisitor is not rendered the respective treatment; and comparing, by theprocessor, a difference between the first probability score and thesecond probability score with a predefined threshold value.
 3. Themethod of claim 2, further comprising: identifying the respectivetreatment to be capable of increasing the likelihood of the visitorperforming the desired action on the online enterprise channel when thedifference is greater than the predefined threshold value; anddetermining the respective treatment to be incapable of increasing thelikelihood of the visitor performing the desired action on the onlineenterprise channel when the difference is less than or equal to thepredefined threshold value.
 4. The method of claim 3, furthercomprising: selecting the treatment to be rendered to the visitor fromamong one or more treatments from among the plurality of treatments, theone or more treatments identified to be capable of increasing thelikelihood of the visitor performing the desired action on the onlineenterprise channel.
 5. The method of claim 4, further comprising:selecting the treatment from among the one or more treatments associatedwith the highest difference over corresponding predefined thresholdvalue as the treatment to be rendered to the visitor during the currentvisit to the online enterprise channel.
 6. The method of claim 1,wherein the desired action corresponds to one of the visitor engaging ina purchase transaction on the online enterprise channel and the visitorclicking on a banner advertisement.
 7. The method of claim 1, whereinthe treatment from among the plurality of treatments corresponds to oneof providing the visitor with an automated voice assistance, providingthe visitor with a text chat related assistance and providing thevisitor with a voice call interaction with a human agent.
 8. The methodof claim 1, wherein the treatment corresponds to displaying a banneradvertisement to the visitor during the current visit of the visitor tothe online enterprise channel, wherein the banner advertisement is to bedisplayed on the online enterprise channel for a first time.
 9. Themethod of claim 8, further comprising: extracting, by the processor, oneor more features from the banner advertisement; adding the one or morefeatures to the plurality of features extracted from the transformeddata to configure a set of features; generating, by the processor, afirst probability score based, at least in part, on the set of features,the first probability score indicative of a probability of the visitorperforming the desired action when the banner advertisement is displayedto the visitor during the current visit on the online enterprisechannel; generating, by the processor, a second probability score based,at least in part, on the set of features, the second probability scoreindicative of a probability of the visitor performing the desired actionwhen the banner advertisement is not displayed to the visitor during thecurrent visit on the online enterprise channel; comparing, by theprocessor, a difference between the first probability score and thesecond probability score with a predefined threshold value derived atleast in part based on a default banner advertisement; determining thatdisplaying the banner advertisement is capable of increasing thelikelihood of the visitor performing the desired action on the onlineenterprise channel when the difference is greater than the predefinedthreshold value; and determining that displaying the banneradvertisement is incapable of increasing the likelihood of the visitorperforming the desired action on the online enterprise channel when thedifference is less than or equal to the predefined threshold value. 10.The method of claim 1, wherein the information comprises at least one ofvisitor device information, visitor device Operating System and Webbrowser information, visitor location information, visitor Internetconnection type information, information related to Web pages visitedduring the current visit, information related to time spent on eachvisited Web page and information related to content accessed on eachvisited Web page.
 11. An apparatus, comprising: a memory for storinginstructions; and a processor configured to execute the instructions andthereby cause the apparatus to at least perform: receive informationrelated to a visitor and a current activity of the visitor on an onlineenterprise channel in substantially real-time; transform the receivedinformation to generate transformed data corresponding to the visitorand the current activity of the visitor on the online enterprisechannel; extract a plurality of features from the transformed data;using the plurality of features, determine whether a treatment fromamong a plurality of treatments when rendered to the visitor is capableof increasing a likelihood of the visitor performing a desired actionduring a current visit of the visitor to the online enterprise channel;select the treatment for the visitor when it is determined that thetreatment is capable of increasing the likelihood of the visitorperforming the desired action during the current visit; render theselected treatment to the visitor during the current visit of thevisitor to the online enterprise channel; and not render treatment tothe visitor during the current visit when it is determined that notreatment from among the plurality of treatments is capable ofincreasing the likelihood of the visitor performing the desired action.12. The apparatus of claim 11, wherein the apparatus is further causedto perform for each treatment from among the plurality of treatments:generate a first probability score based, at least in part, on theplurality of features, the first probability score indicative of aprobability of the visitor performing the desired action on the onlineenterprise channel when rendered respective treatment from among theplurality of treatments; generate a second probability score based, atleast in part, on the plurality of features, the second probabilityscore indicative of a probability of the visitor performing the desiredaction on the online enterprise channel when the visitor is not renderedthe respective treatment; and compare a difference between the firstprobability score and the second probability score with a predefinedthreshold value.
 13. The apparatus of claim 12, further comprising:identify the respective treatment to be capable of increasing thelikelihood of the visitor performing the desired action on the onlineenterprise channel when the difference is greater than the predefinedthreshold value; and determine the respective treatment to be incapableof increasing the likelihood of the visitor performing the desiredaction on the online enterprise channel when the difference is less thanor equal to the predefined threshold value.
 14. The apparatus of claim13, further comprising: select the treatment to be rendered to thevisitor from among one or more treatments from among the plurality oftreatments, the one or more treatments identified to be capable ofincreasing the likelihood of the visitor performing the desired actionon the online enterprise channel.
 15. The apparatus of claim 14, furthercomprising: select the treatment from among the one or more treatmentsassociated with the highest difference over corresponding predefinedthreshold value as the treatment to be rendered to the visitor duringthe current visit to the online enterprise channel.
 16. The apparatus ofclaim 11, wherein the treatment corresponds to displaying a banneradvertisement to the visitor during the current visit of the visitor tothe online enterprise channel, wherein the banner advertisement is to bedisplayed on the online enterprise channel for a first time.
 17. Theapparatus of claim 16, wherein the apparatus is further caused to:extract one or more features from the banner advertisement; add the oneor more features to the plurality of features extracted from thetransformed data to configure a set of features; generate a firstprobability score based, at least in part, on the set of features, thefirst probability score indicative of a probability of the visitorperforming the desired action when the banner advertisement is displayedto the visitor during the current visit on the online enterprisechannel; generate a second probability score based, at least in part, onthe set of features, the second probability score indicative of aprobability of the visitor performing the desired action when the banneradvertisement is not displayed to the visitor during the current visiton the online enterprise channel; compare a difference between the firstprobability score and the second probability score with a predefinedthreshold value derived at least in part based on a default banneradvertisement; determine displaying the banner advertisement to becapable of increasing the likelihood of the visitor performing thedesired action on the online enterprise channel when the difference isgreater than the predefined threshold value; and determine displayingthe banner advertisement \to be incapable of increasing the likelihoodof the visitor performing the desired action on the online enterprisechannel when the difference is less than or equal to the predefinedthreshold value.
 18. A computer-implemented method comprising:receiving, by a processor, information related to a visitor and acurrent activity of the visitor on an online enterprise channel insubstantially real-time; transforming the received information, by theprocessor, to generate transformed data corresponding to the visitor andthe current activity of the visitor on the online enterprise channel;extracting, by the processor, a plurality of features from thetransformed data; generating, by the processor, a first probabilityscore based, at least in part, on the plurality of features, the firstprobability score indicative of a probability of the visitor engaging ina purchase transaction during a current visit of the visitor to theonline enterprise channel when rendered agent assistance; generating, bythe processor, a second probability score based, at least in part, onthe plurality of features, the second probability score indicative of aprobability of the visitor engaging in the purchase transaction duringthe current visit when the visitor is not rendered the agent assistance;comparing, by the processor, a difference between the first probabilityscore and the second probability score with a predefined thresholdvalue; facilitating, by the processor, a rendering of the agentassistance to the visitor during the current visit of the visitor to theonline enterprise channel when it is determined that the agentassistance is capable of increasing the likelihood of the visitorengaging in the purchase transaction during the current visit; and notrendering the agent assistance to the visitor during the current visitwhen it is determined that the agent assistance is incapable ofincreasing the likelihood of the visitor engaging in the purchasetransaction.
 19. The method of claim 18, wherein the agent assistancecorresponds to one of an automated voice assistance, a text chat relatedassistance and a voice call interaction with a human agent.
 20. Themethod of claim 18, wherein the information comprises at least one ofvisitor device information, visitor device Operating System and Webbrowser information, visitor location information, visitor Internetconnection type information, information related to Web pages visitedduring the current visit, information related to time spent on eachvisited Web page and information related to content accessed on eachvisited Web page.